package com.hnjfzn.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hnjfzn.system.api.domain.SysArea;

import java.util.List;

public interface ISysAreaService extends IService<SysArea> {

    /**
     * 获取列表
     *
     * @param area 区域
     * @return 列表
     */
    List<SysArea> list(SysArea area);

    /**
     * 校验是否有数据权限
     *
     * @param areaId 区域标识
     */
    public void checkDataScope(String areaId);

    /**
     * 根据ID查询所有子集（正常状态）
     *
     * @param areaId 区域
     * @return 子集数量
     */
    public boolean existsNormalChild(String areaId);

    /**
     * 检测是否有子
     *
     * @param areaId 区域标识
     * @return 子集
     */
    boolean existsChild(String areaId);

    /**
     * 判断是否存在用户
     *
     * @param areaId 区域
     * @return 是否存在
     */
    boolean checkExistUser(String areaId);

    /**
     * 删除区域
     *
     * @param areaId 区域
     * @return 是否删除
     */
    boolean removeArea(String areaId);
}
